-
Notifications
You must be signed in to change notification settings - Fork 585
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FAKE 5 #1281
FAKE 5 #1281
Conversation
@forki FYI
|
if you're still having build issues try it with these settings in your project.json {
"name": "",
"version": "1.0.0-*",
"buildOptions": {
"compilerName": "fsc",
"compile": {
"includeFiles": [
]
}
},
"dependencies": {
"Microsoft.FSharp.Core.netcore": "1.0.0-alpha-160509",
"FSharp.Compiler.Service.netcore": "1.0.0-alpha-00001",
"FSharp.Compiler.Service.ProjectCracker.netcore": "1.0.0-alpha-00001",
"NETStandard.Library": "1.5.0-rc2-24027"
},
"tools": {
"dotnet-compile-fsc": {
"version": "1.0.0-*",
"imports": [
"dnxcore50",
"portable-net45+win81",
"netstandard1.3"
]
}
},
"frameworks": {
"netstandard1.5": {
"imports": [
"portable-net45+win8",
"dnxcore50"
]
}
}
} and these in your nuget.config <?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<!--To inherit the global NuGet package sources remove the <clear/> line below -->
<clear />
<add key="dotnet-core" value="https://dotnet.myget.org/F/dotnet-core/api/v3/index.json" />
<add key="dotnet-cli" value="https://dotnet.myget.org/F/dotnet-cli/api/v3/index.json" />
<add key="cli-deps" value="https://dotnet.myget.org/F/cli-deps/api/v3/index.json"/>
<add key="fsharp-daily" value="https://www.myget.org/F/fsharp-daily/api/v3/index.json" />
<add key="fsharp-compiler-service" value="https://ci.appveyor.com/nuget/fsgit-fsharp-compiler-service"/>
<add key="api.nuget.org" value="https://api.nuget.org/v3/index.json" />
</packageSources>
</configuration> |
@cloudRoutine Build is fine net46 and netcoreapp1.0 (the AppVeyor/Travis issue is unrelated). Running in net46 works as well. Only running Fake.netcore with netcoreapp1.0 is broken. I think I have most of the stuff already added to project.json and NuGet.config, but I will look again later, thanks. |
Updated first post with the current errors I'm encountering... @cloudRoutine I switched to the myget feed which contains |
@matthid I managed to get it to run, but I had to remove some dependencies and functionality. You'll need to find compatible versions to work with what's here or try another implementation approach. It's a pain to do, but you can usually find the sources of conflict in the |
@cloudRoutine with dotnet version are you using?
It's already working for me (at least after running |
i guess you're on top of it then 👍 |
I have no idea. This whole versioning is so confusing. I have no idea if I should upgrade and try do make it work with preview3 or stay on preview1 which is suggested here: https://github.com/dotnet/netcorecli-fsc/wiki |
Honestly I'd wait until everything becomes more stable. There's no huge gain in rushing to try to get it done early when it could be done later much faster with less headaches. |
Wow... Now I get some internal F# compiler error: I think I have to give up for now. @cloudRoutine Yeah I kind of agree for the cli tooling, that's why I have given up on the Most of the errors now are probably FCS specific bugs and I'm not sure anyone has interest in fixing them (if not FAKE). |
Related: fsharp/fsharp-compiler-docs#593 (you need those changes for this branch) |
Wow I made it work:
|
Updated first post, updated to latest preview 2 tooling and changed to Argu for command line parsing. |
I made a first release for win7 to check how bootstrapping could look like: https://github.com/matthid/FAKE/releases/tag/v1.0-alpha-01 |
How I'm moving this forward and my suggested migration path:
This is the general Roadmap. For now I'm concentrating on the bootstrap experience and to get the most important features converted to separate packages. The road so far:
|
900575c
to
ab9ab03
Compare
Somehow related a set of helpers to run dotnet.exe commands from FAKE: https://github.com/dolly22/fake.dotnet I'm also having a wild idea: since there are so many FAKE extensions (in separate packages), maybe we could study a ExtensionTypeProvider which takes care of downloading the package and exposing the helpers to the FAKE Script? |
Its incredible what changes were necessary throughout the ecosystem to make this possible. When I started it I thought we just integrate paket and things would work :) After almost a year this is finally green. This means we can finally look at FAKE instead of fixing all the other stuff. This also means I will now work on branches on top of this and then merge them back here for the time being. Sadly this is less visible for others until we have the access rights figured out. |
update docs
fix legacy packages
From #1232
Docs
https://github.com/matthid/FAKE/blob/coreclr/help/fake-dotnetcore.md
To test this branch
TODO (for alpha release):
dotnet run -f net46
(and remove everything but the core)dotnet run -f netcoreapp1.0
checker.ParseAndCheckProject(options)
:internal error: Object reference not set to an instance of an object.
(Workaround for now -> nofsi
object in build script). Disappeared after latest FCS update (merge with visualfsharp)Yaaf.FSharp.Scripting
: How do we resolveFSharp.Core
withsigdata
andoptdata
in this new world? Required forlet
functionality. (Workaround for now -> nofsi
object in build script)Error-> not important in the first version**** error: internal error: The type initializer for '<StartupCode$FSharp-Compiler-Service-netcore>.$Reshapedmsbuild' threw an exception.
when running withfsi
object supporterror FS0192: internal error: the IL instruction Microsoft.FSharp.Compiler.AbstractIL.IL+ILInstr+I_seqpoint cannot be emitted
, See FSharp.Compiler.Service coreclr package is broken fsharp/fsharp-compiler-docs#591 and Properly embed 'FSIstrings' resource, fixes #591 fsharp/fsharp-compiler-docs#592FSIHelper.fs
Yaaf.FSharp.Scripting
Remove binaries from lib folder (currently these "special" version are required)-> Can be done one by one once they become available.Add the-> Laterfake
coreclr tool -> maybe bootstrapping is better?#load
linesMake the caching layer in fake load the correct assembly (depending on the current runtime and the runtime folder of the packages) if necessary (Microsoft.NETCore.Platforms)-> Not a showstopper for now as for Fake-Packages runtime- and compile-time assemblies are the same. We fallback to already loaded assemblies anyway (therefore we can load netstandard for now)Remove duplicate code from FakeLib (mutables!)Will be done on demand.Fake.BuildServer.AppVeyor-> LaterFake.DotNet.FSharpFormatting-> LaterTrim packages (here and here), see FAKE Dotnetcore #1232